package com.quanyan.place.service;

import com.quanyan.api.APIResponse;
import com.quanyan.place.entity.apireq.ReqPlaceSalePlan;
import com.quanyan.place.entity.apiresp.RespBizPlaceBaseInfo;
import com.quanyan.place.entity.apiresp.RespPlaceUnitSalePlanDetail;
import com.quanyan.place.entity.dto.OrderHistoryDTO;
import com.quanyan.place.entity.dto.OrderItemCostDTO;
import com.quanyan.place.entity.dto.PayItemCostDTO;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by zhaohui on 2016/11/23.
 */
public interface ApiPlaceOrderService {
    /**
     * app端获取销售计划
     * @param reqPlaceSalePlan
     * @return
     */
    APIResponse<RespPlaceUnitSalePlanDetail> getPlaceSalePlan(ReqPlaceSalePlan reqPlaceSalePlan);

    /**
     * 获取场馆基本信息
     * @param placeId
     * @return
     */
    APIResponse<RespBizPlaceBaseInfo> getPlaceBaseInfo(Integer placeId);

    /**
     * 记录订单明细
     * @param orderItemCostDTO
     * @return
     */
    APIResponse setOrderItemCostService(OrderItemCostDTO orderItemCostDTO);

    /**
     * 记录折扣明细
     * @param orderItemCostDTO
     * @return
     */
    APIResponse setOrderDiscountItemCostService(OrderItemCostDTO orderItemCostDTO);

    /**
     * 记录付款明细
     * @param orderItemCostDTO
     * @return
     */
    APIResponse setOrderPayItemCostService(OrderItemCostDTO orderItemCostDTO);

    /**
     * 支付成功、失败、退款 修改
     * 订单明细及折扣明细状态
     * @param orderItemCostDTO
     * @return
     */
    APIResponse callBackOrderStatus(OrderItemCostDTO orderItemCostDTO);

    /**
     * 记录订单历史流水
     * @param orderHistoryDTO
     * @return
     */
    APIResponse insertOrderHistory(OrderHistoryDTO orderHistoryDTO);
}
